package doxygenxml.compound;
 
/**********************************************************************************************
 * Copyright (c) 2001-2020 Liquid Technologies Limited. All rights reserved.
 * See www.liquid-technologies.com for product details.
 *
 * Please see products End User License Agreement for distribution permissions.
 *
 * WARNING: THIS FILE IS GENERATED
 * Changes made outside of ##HAND_CODED_BLOCK_START blocks will be overwritten
 *
 * Generation  :  by Liquid XML Data Binder 18.0.5.9988
 * Using Schema: CENSORED
 **********************************************************************************************/
	
// <summary>
// This class represents the Element docParaType_Group
// </summary>
public class DocParaType_Group extends com.liquid_technologies.ltxmllib18.XmlGeneratedClass {
	private static final long serialVersionUID = 13L;

	// <summary>
	// 	Constructor for DocParaType_Group
	// </summary>
	// <remarks>
	// The class is created with all the mandatory fields populated with the
	// default data. 
	// All Collection object are created.
	// However any 1-n relationships (these are represented as collections) are
	// empty. To comply with the schema these must be populated before the xml
	// obtained from ToXml is valid against the schema CENSORED
	// </remarks>
	public DocParaType_Group() {
		setElementName("docParaType_Group");
		init();
	}
	public DocParaType_Group(String elementName) {
		setElementName(elementName);
		init();
	}		

	// <summary>
	// 	Initializes the class
	// </summary>
	// <remarks>
	// This creates all the mandatory fields (populated with the default data) 
	// All Collection object are created.
	// However any 1-n relationships (these are represented as collections) are
	// empty. To comply with the schema these must be populated before the xml
	// obtained from ToXml is valid against the schema CENSORED.
	// </remarks>
	@Override
	protected void init() {
		try {
			doxygenxml.compound.Registration.iRegistrationIndicator = 0; // causes registration to take place
			_docParaType_Group_Choice = null;
			_hruler = null;
			_preformatted = null;
			_programlisting = null;
			_verbatim = "";
			_isValidVerbatim = false;
			_indexentry = null;
			_orderedlist = null;
			_itemizedlist = null;
			_simplesect = null;
			_title = null;
			_variablelist = null;
			_table = null;
			_heading = null;
			_dotfile = null;
			_mscfile = null;
			_diafile = null;
			_toclist = null;
			_language = null;
			_parameterlist = null;
			_xrefsect = null;
			_copydoc = null;
			_blockquote = null;
			_parblock = null;

			_validElement = "";
			// ##HAND_CODED_BLOCK_START ID="Additional Inits"## DO NOT MODIFY ANYTHING OUTSIDE OF THESE TAGS
			// Add Additional initialization code here...
			// ##HAND_CODED_BLOCK_END ID="Additional Inits"## DO NOT MODIFY ANYTHING OUTSIDE OF THESE TAGS

			getClassAttributeInfo();
			getClassElementInfo();
		} catch (Exception ex) {
			// should never happen
			ex.printStackTrace();
			throw new InternalError();
		}
	}

	protected void ClearChoice(String selectedElement) {
		try {
			_docParaType_Group_Choice = null;
			_hruler = null;
			_preformatted = null;
			_programlisting = null;
			_verbatim = "";
			_isValidVerbatim = false;
			_indexentry = null;
			_orderedlist = null;
			_itemizedlist = null;
			_simplesect = null;
			_title = null;
			_variablelist = null;
			_table = null;
			_heading = null;
			_dotfile = null;
			_mscfile = null;
			_diafile = null;
			_toclist = null;
			_language = null;
			_parameterlist = null;
			_xrefsect = null;
			_copydoc = null;
			_blockquote = null;
			_parblock = null;
	
			_validElement = selectedElement;
		} catch (Exception ex) {
			// should never happen
			ex.printStackTrace();
			throw new InternalError();
		}
	}


	// <summary>
	// Allows the class to be copied
	// </summary>
	// <remarks>
	// Performs a 'deep copy' of all the data in the class (and its children)
	// </remarks>
	@Override
	public Object clone() throws CloneNotSupportedException {
		try {
			doxygenxml.compound.DocParaType_Group newObject = (doxygenxml.compound.DocParaType_Group)super.clone();

			// clone, creates a bitwise copy of the class, so all the collections are the
			// same as the parents. Init will re-create our own collections, and classes, 
			// preventing objects being shared between the new an original objects
			newObject.init();
			newObject._docParaType_Group_Choice = null;
			if (_docParaType_Group_Choice != null)
				newObject._docParaType_Group_Choice = (doxygenxml.compound.DocParaType_Group_Choice)_docParaType_Group_Choice.clone();
			newObject._hruler = null;
			if (_hruler != null)
				newObject._hruler = (doxygenxml.compound.DocEmptyType)_hruler.clone();
			newObject._preformatted = null;
			if (_preformatted != null)
				newObject._preformatted = (doxygenxml.compound.DocMarkupType)_preformatted.clone();
			newObject._programlisting = null;
			if (_programlisting != null)
				newObject._programlisting = (doxygenxml.compound.ListingType)_programlisting.clone();
			if (_isValidVerbatim)
				newObject._verbatim = _verbatim;
			newObject._isValidVerbatim = _isValidVerbatim;
			newObject._indexentry = null;
			if (_indexentry != null)
				newObject._indexentry = (doxygenxml.compound.DocIndexEntryType)_indexentry.clone();
			newObject._orderedlist = null;
			if (_orderedlist != null)
				newObject._orderedlist = (doxygenxml.compound.DocListType)_orderedlist.clone();
			newObject._itemizedlist = null;
			if (_itemizedlist != null)
				newObject._itemizedlist = (doxygenxml.compound.DocListType)_itemizedlist.clone();
			newObject._simplesect = null;
			if (_simplesect != null)
				newObject._simplesect = (doxygenxml.compound.DocSimpleSectType)_simplesect.clone();
			newObject._title = null;
			if (_title != null)
				newObject._title = (doxygenxml.compound.DocTitleType)_title.clone();
			newObject._variablelist = null;
			if (_variablelist != null)
				newObject._variablelist = (doxygenxml.compound.DocVariableListType)_variablelist.clone();
			newObject._table = null;
			if (_table != null)
				newObject._table = (doxygenxml.compound.DocTableType)_table.clone();
			newObject._heading = null;
			if (_heading != null)
				newObject._heading = (doxygenxml.compound.DocHeadingType)_heading.clone();
			newObject._dotfile = null;
			if (_dotfile != null)
				newObject._dotfile = (doxygenxml.compound.DocImageType)_dotfile.clone();
			newObject._mscfile = null;
			if (_mscfile != null)
				newObject._mscfile = (doxygenxml.compound.DocImageType)_mscfile.clone();
			newObject._diafile = null;
			if (_diafile != null)
				newObject._diafile = (doxygenxml.compound.DocImageType)_diafile.clone();
			newObject._toclist = null;
			if (_toclist != null)
				newObject._toclist = (doxygenxml.compound.DocTocListType)_toclist.clone();
			newObject._language = null;
			if (_language != null)
				newObject._language = (doxygenxml.compound.DocLanguageType)_language.clone();
			newObject._parameterlist = null;
			if (_parameterlist != null)
				newObject._parameterlist = (doxygenxml.compound.DocParamListType)_parameterlist.clone();
			newObject._xrefsect = null;
			if (_xrefsect != null)
				newObject._xrefsect = (doxygenxml.compound.DocXRefSectType)_xrefsect.clone();
			newObject._copydoc = null;
			if (_copydoc != null)
				newObject._copydoc = (doxygenxml.compound.DocCopyType)_copydoc.clone();
			newObject._blockquote = null;
			if (_blockquote != null)
				newObject._blockquote = (doxygenxml.compound.DocBlockQuoteType)_blockquote.clone();
			newObject._parblock = null;
			if (_parblock != null)
				newObject._parblock = (doxygenxml.compound.DocParBlockType)_parblock.clone();
	
			newObject._validElement = _validElement;
// ##HAND_CODED_BLOCK_START ID="Additional clone"## DO NOT MODIFY ANYTHING OUTSIDE OF THESE TAGS

// Add Additional clone code here...

// ##HAND_CODED_BLOCK_END ID="Additional clone"## DO NOT MODIFY ANYTHING OUTSIDE OF THESE TAGS

			return newObject;
		} catch (CloneNotSupportedException e) {
			// should never happen
			e.printStackTrace();
			throw new InternalError();
		}
	}

	@Override
	public String getTargetNamespace() {
		return "";
	}

	// <summary>
	// Represents an optional Element in the XML document
	// </summary>
	// <remarks>
	// This property is represented as an Element in the XML.
	// It is optional, initially it is null.
	// Only one Element within this class may be set at a time, setting this property when another element is already set will raise an exception. setting this property to null will allow another element to be selected

	// </remarks>
	public doxygenxml.compound.DocParaType_Group_Choice getDocParaType_Group_Choice() {
		return _docParaType_Group_Choice;  
	}
	public void setDocParaType_Group_Choice(doxygenxml.compound.DocParaType_Group_Choice value) throws com.liquid_technologies.ltxmllib18.exceptions.LtException { 
		// The class represents a choice, so prevent more than one element from being selected
		ClearChoice((value == null)?"":"docParaType_Group_Choice"); // remove selection
		if (value == null)
			_docParaType_Group_Choice = null;
		else {
			_docParaType_Group_Choice = value; 
		}
	}
	protected doxygenxml.compound.DocParaType_Group_Choice _docParaType_Group_Choice;

	// <summary>
	// Represents an optional Element in the XML document
	// </summary>
	// <remarks>
	// This property is represented as an Element in the XML.
	// It is optional, initially it is null.
	// Only one Element within this class may be set at a time, setting this property when another element is already set will raise an exception. setting this property to null will allow another element to be selected

	// </remarks>
	public doxygenxml.compound.DocEmptyType getHruler() {
		return _hruler;  
	}
	public void setHruler(doxygenxml.compound.DocEmptyType value) throws com.liquid_technologies.ltxmllib18.exceptions.LtException { 
		// The class represents a choice, so prevent more than one element from being selected
		ClearChoice((value == null)?"":"hruler"); // remove selection
		if (value == null)
			_hruler = null;
		else {
			setElementName(value.getBase(), "hruler");
			_hruler = value; 
		}
	}
	protected doxygenxml.compound.DocEmptyType _hruler;

	// <summary>
	// Represents an optional Element in the XML document
	// </summary>
	// <remarks>
	// This property is represented as an Element in the XML.
	// It is optional, initially it is null.
	// Only one Element within this class may be set at a time, setting this property when another element is already set will raise an exception. setting this property to null will allow another element to be selected

	// </remarks>
	public doxygenxml.compound.DocMarkupType getPreformatted() {
		return _preformatted;  
	}
	public void setPreformatted(doxygenxml.compound.DocMarkupType value) throws com.liquid_technologies.ltxmllib18.exceptions.LtException { 
		// The class represents a choice, so prevent more than one element from being selected
		ClearChoice((value == null)?"":"preformatted"); // remove selection
		if (value == null)
			_preformatted = null;
		else {
			setElementName(value.getBase(), "preformatted");
			_preformatted = value; 
		}
	}
	protected doxygenxml.compound.DocMarkupType _preformatted;

	// <summary>
	// Represents an optional Element in the XML document
	// </summary>
	// <remarks>
	// This property is represented as an Element in the XML.
	// It is optional, initially it is null.
	// Only one Element within this class may be set at a time, setting this property when another element is already set will raise an exception. setting this property to null will allow another element to be selected

	// </remarks>
	public doxygenxml.compound.ListingType getProgramlisting() {
		return _programlisting;  
	}
	public void setProgramlisting(doxygenxml.compound.ListingType value) throws com.liquid_technologies.ltxmllib18.exceptions.LtException { 
		// The class represents a choice, so prevent more than one element from being selected
		ClearChoice((value == null)?"":"programlisting"); // remove selection
		if (value == null)
			_programlisting = null;
		else {
			setElementName(value.getBase(), "programlisting");
			_programlisting = value; 
		}
	}
	protected doxygenxml.compound.ListingType _programlisting;

	// <summary>
	// Represents an optional Element in the XML document
	// </summary>
	// <remarks>
	// This property is represented as an Element in the XML.
	// It is optional, initially it is not valid.
	// Only one Element within this class may be set at a time, setting this property when another element is already set will raise an exception
	// </remarks>
	public java.lang.String getVerbatim() throws com.liquid_technologies.ltxmllib18.exceptions.LtException { 
		if (_isValidVerbatim == false)
			throw new com.liquid_technologies.ltxmllib18.exceptions.LtInvalidStateException("The Property verbatim is not valid. Set verbatimValid = true");
		return _verbatim;  
	}
	public void setVerbatim(java.lang.String value) throws com.liquid_technologies.ltxmllib18.exceptions.LtException { 
		// Apply whitespace rules appropriately
		value = com.liquid_technologies.ltxmllib18.WhitespaceUtils.preserve(value); 
		// The class represents a choice, so prevent more than one element from being selected
		ClearChoice("verbatim"); // remove selection
		_isValidVerbatim = true;
		_verbatim = value;
	}

	// <summary>
	// Indicates if verbatim contains a valid value.
	// </summary>
	// <remarks>
	// true if the value for verbatim is valid, false if not.
	// If this is set to true then the property is considered valid, and assigned its
	// default value ("").
	// If its set to false then its made invalid, and subsequent calls to get verbatim
	// will raise an exception.
	// </remarks>
	public boolean isValidVerbatim() {
		return _isValidVerbatim;
	}
	public void setValidVerbatim(boolean value)  throws com.liquid_technologies.ltxmllib18.exceptions.LtException { 
		if (value != _isValidVerbatim) {
			_verbatim = "";
			_isValidVerbatim = value;
		}
	}
	protected boolean _isValidVerbatim;
	protected java.lang.String _verbatim;

	// <summary>
	// Represents an optional Element in the XML document
	// </summary>
	// <remarks>
	// This property is represented as an Element in the XML.
	// It is optional, initially it is null.
	// Only one Element within this class may be set at a time, setting this property when another element is already set will raise an exception. setting this property to null will allow another element to be selected

	// </remarks>
	public doxygenxml.compound.DocIndexEntryType getIndexentry() {
		return _indexentry;  
	}
	public void setIndexentry(doxygenxml.compound.DocIndexEntryType value) throws com.liquid_technologies.ltxmllib18.exceptions.LtException { 
		// The class represents a choice, so prevent more than one element from being selected
		ClearChoice((value == null)?"":"indexentry"); // remove selection
		if (value == null)
			_indexentry = null;
		else {
			setElementName(value.getBase(), "indexentry");
			_indexentry = value; 
		}
	}
	protected doxygenxml.compound.DocIndexEntryType _indexentry;

	// <summary>
	// Represents an optional Element in the XML document
	// </summary>
	// <remarks>
	// This property is represented as an Element in the XML.
	// It is optional, initially it is null.
	// Only one Element within this class may be set at a time, setting this property when another element is already set will raise an exception. setting this property to null will allow another element to be selected

	// </remarks>
	public doxygenxml.compound.DocListType getOrderedlist() {
		return _orderedlist;  
	}
	public void setOrderedlist(doxygenxml.compound.DocListType value) throws com.liquid_technologies.ltxmllib18.exceptions.LtException { 
		// The class represents a choice, so prevent more than one element from being selected
		ClearChoice((value == null)?"":"orderedlist"); // remove selection
		if (value == null)
			_orderedlist = null;
		else {
			setElementName(value.getBase(), "orderedlist");
			_orderedlist = value; 
		}
	}
	protected doxygenxml.compound.DocListType _orderedlist;

	// <summary>
	// Represents an optional Element in the XML document
	// </summary>
	// <remarks>
	// This property is represented as an Element in the XML.
	// It is optional, initially it is null.
	// Only one Element within this class may be set at a time, setting this property when another element is already set will raise an exception. setting this property to null will allow another element to be selected

	// </remarks>
	public doxygenxml.compound.DocListType getItemizedlist() {
		return _itemizedlist;  
	}
	public void setItemizedlist(doxygenxml.compound.DocListType value) throws com.liquid_technologies.ltxmllib18.exceptions.LtException { 
		// The class represents a choice, so prevent more than one element from being selected
		ClearChoice((value == null)?"":"itemizedlist"); // remove selection
		if (value == null)
			_itemizedlist = null;
		else {
			setElementName(value.getBase(), "itemizedlist");
			_itemizedlist = value; 
		}
	}
	protected doxygenxml.compound.DocListType _itemizedlist;

	// <summary>
	// Represents an optional Element in the XML document
	// </summary>
	// <remarks>
	// This property is represented as an Element in the XML.
	// It is optional, initially it is null.
	// Only one Element within this class may be set at a time, setting this property when another element is already set will raise an exception. setting this property to null will allow another element to be selected

	// </remarks>
	public doxygenxml.compound.DocSimpleSectType getSimplesect() {
		return _simplesect;  
	}
	public void setSimplesect(doxygenxml.compound.DocSimpleSectType value) throws com.liquid_technologies.ltxmllib18.exceptions.LtException { 
		// The class represents a choice, so prevent more than one element from being selected
		ClearChoice((value == null)?"":"simplesect"); // remove selection
		if (value == null)
			_simplesect = null;
		else {
			setElementName(value.getBase(), "simplesect");
			_simplesect = value; 
		}
	}
	protected doxygenxml.compound.DocSimpleSectType _simplesect;

	// <summary>
	// Represents an optional Element in the XML document
	// </summary>
	// <remarks>
	// This property is represented as an Element in the XML.
	// It is optional, initially it is null.
	// Only one Element within this class may be set at a time, setting this property when another element is already set will raise an exception. setting this property to null will allow another element to be selected

	// </remarks>
	public doxygenxml.compound.DocTitleType getTitle() {
		return _title;  
	}
	public void setTitle(doxygenxml.compound.DocTitleType value) throws com.liquid_technologies.ltxmllib18.exceptions.LtException { 
		// The class represents a choice, so prevent more than one element from being selected
		ClearChoice((value == null)?"":"title"); // remove selection
		if (value == null)
			_title = null;
		else {
			setElementName(value.getBase(), "title");
			_title = value; 
		}
	}
	protected doxygenxml.compound.DocTitleType _title;

	// <summary>
	// Represents an optional Element in the XML document
	// </summary>
	// <remarks>
	// This property is represented as an Element in the XML.
	// It is optional, initially it is null.
	// Only one Element within this class may be set at a time, setting this property when another element is already set will raise an exception. setting this property to null will allow another element to be selected

	// </remarks>
	public doxygenxml.compound.DocVariableListType getVariablelist() {
		return _variablelist;  
	}
	public void setVariablelist(doxygenxml.compound.DocVariableListType value) throws com.liquid_technologies.ltxmllib18.exceptions.LtException { 
		// The class represents a choice, so prevent more than one element from being selected
		ClearChoice((value == null)?"":"variablelist"); // remove selection
		if (value == null)
			_variablelist = null;
		else {
			setElementName(value.getBase(), "variablelist");
			_variablelist = value; 
		}
	}
	protected doxygenxml.compound.DocVariableListType _variablelist;

	// <summary>
	// Represents an optional Element in the XML document
	// </summary>
	// <remarks>
	// This property is represented as an Element in the XML.
	// It is optional, initially it is null.
	// Only one Element within this class may be set at a time, setting this property when another element is already set will raise an exception. setting this property to null will allow another element to be selected

	// </remarks>
	public doxygenxml.compound.DocTableType getTable() {
		return _table;  
	}
	public void setTable(doxygenxml.compound.DocTableType value) throws com.liquid_technologies.ltxmllib18.exceptions.LtException { 
		// The class represents a choice, so prevent more than one element from being selected
		ClearChoice((value == null)?"":"table"); // remove selection
		if (value == null)
			_table = null;
		else {
			setElementName(value.getBase(), "table");
			_table = value; 
		}
	}
	protected doxygenxml.compound.DocTableType _table;

	// <summary>
	// Represents an optional Element in the XML document
	// </summary>
	// <remarks>
	// This property is represented as an Element in the XML.
	// It is optional, initially it is null.
	// Only one Element within this class may be set at a time, setting this property when another element is already set will raise an exception. setting this property to null will allow another element to be selected

	// </remarks>
	public doxygenxml.compound.DocHeadingType getHeading() {
		return _heading;  
	}
	public void setHeading(doxygenxml.compound.DocHeadingType value) throws com.liquid_technologies.ltxmllib18.exceptions.LtException { 
		// The class represents a choice, so prevent more than one element from being selected
		ClearChoice((value == null)?"":"heading"); // remove selection
		if (value == null)
			_heading = null;
		else {
			setElementName(value.getBase(), "heading");
			_heading = value; 
		}
	}
	protected doxygenxml.compound.DocHeadingType _heading;

	// <summary>
	// Represents an optional Element in the XML document
	// </summary>
	// <remarks>
	// This property is represented as an Element in the XML.
	// It is optional, initially it is null.
	// Only one Element within this class may be set at a time, setting this property when another element is already set will raise an exception. setting this property to null will allow another element to be selected

	// </remarks>
	public doxygenxml.compound.DocImageType getDotfile() {
		return _dotfile;  
	}
	public void setDotfile(doxygenxml.compound.DocImageType value) throws com.liquid_technologies.ltxmllib18.exceptions.LtException { 
		// The class represents a choice, so prevent more than one element from being selected
		ClearChoice((value == null)?"":"dotfile"); // remove selection
		if (value == null)
			_dotfile = null;
		else {
			setElementName(value.getBase(), "dotfile");
			_dotfile = value; 
		}
	}
	protected doxygenxml.compound.DocImageType _dotfile;

	// <summary>
	// Represents an optional Element in the XML document
	// </summary>
	// <remarks>
	// This property is represented as an Element in the XML.
	// It is optional, initially it is null.
	// Only one Element within this class may be set at a time, setting this property when another element is already set will raise an exception. setting this property to null will allow another element to be selected

	// </remarks>
	public doxygenxml.compound.DocImageType getMscfile() {
		return _mscfile;  
	}
	public void setMscfile(doxygenxml.compound.DocImageType value) throws com.liquid_technologies.ltxmllib18.exceptions.LtException { 
		// The class represents a choice, so prevent more than one element from being selected
		ClearChoice((value == null)?"":"mscfile"); // remove selection
		if (value == null)
			_mscfile = null;
		else {
			setElementName(value.getBase(), "mscfile");
			_mscfile = value; 
		}
	}
	protected doxygenxml.compound.DocImageType _mscfile;

	// <summary>
	// Represents an optional Element in the XML document
	// </summary>
	// <remarks>
	// This property is represented as an Element in the XML.
	// It is optional, initially it is null.
	// Only one Element within this class may be set at a time, setting this property when another element is already set will raise an exception. setting this property to null will allow another element to be selected

	// </remarks>
	public doxygenxml.compound.DocImageType getDiafile() {
		return _diafile;  
	}
	public void setDiafile(doxygenxml.compound.DocImageType value) throws com.liquid_technologies.ltxmllib18.exceptions.LtException { 
		// The class represents a choice, so prevent more than one element from being selected
		ClearChoice((value == null)?"":"diafile"); // remove selection
		if (value == null)
			_diafile = null;
		else {
			setElementName(value.getBase(), "diafile");
			_diafile = value; 
		}
	}
	protected doxygenxml.compound.DocImageType _diafile;

	// <summary>
	// Represents an optional Element in the XML document
	// </summary>
	// <remarks>
	// This property is represented as an Element in the XML.
	// It is optional, initially it is null.
	// Only one Element within this class may be set at a time, setting this property when another element is already set will raise an exception. setting this property to null will allow another element to be selected

	// </remarks>
	public doxygenxml.compound.DocTocListType getToclist() {
		return _toclist;  
	}
	public void setToclist(doxygenxml.compound.DocTocListType value) throws com.liquid_technologies.ltxmllib18.exceptions.LtException { 
		// The class represents a choice, so prevent more than one element from being selected
		ClearChoice((value == null)?"":"toclist"); // remove selection
		if (value == null)
			_toclist = null;
		else {
			setElementName(value.getBase(), "toclist");
			_toclist = value; 
		}
	}
	protected doxygenxml.compound.DocTocListType _toclist;

	// <summary>
	// Represents an optional Element in the XML document
	// </summary>
	// <remarks>
	// This property is represented as an Element in the XML.
	// It is optional, initially it is null.
	// Only one Element within this class may be set at a time, setting this property when another element is already set will raise an exception. setting this property to null will allow another element to be selected

	// </remarks>
	public doxygenxml.compound.DocLanguageType getLanguage() {
		return _language;  
	}
	public void setLanguage(doxygenxml.compound.DocLanguageType value) throws com.liquid_technologies.ltxmllib18.exceptions.LtException { 
		// The class represents a choice, so prevent more than one element from being selected
		ClearChoice((value == null)?"":"language"); // remove selection
		if (value == null)
			_language = null;
		else {
			setElementName(value.getBase(), "language");
			_language = value; 
		}
	}
	protected doxygenxml.compound.DocLanguageType _language;

	// <summary>
	// Represents an optional Element in the XML document
	// </summary>
	// <remarks>
	// This property is represented as an Element in the XML.
	// It is optional, initially it is null.
	// Only one Element within this class may be set at a time, setting this property when another element is already set will raise an exception. setting this property to null will allow another element to be selected

	// </remarks>
	public doxygenxml.compound.DocParamListType getParameterlist() {
		return _parameterlist;  
	}
	public void setParameterlist(doxygenxml.compound.DocParamListType value) throws com.liquid_technologies.ltxmllib18.exceptions.LtException { 
		// The class represents a choice, so prevent more than one element from being selected
		ClearChoice((value == null)?"":"parameterlist"); // remove selection
		if (value == null)
			_parameterlist = null;
		else {
			setElementName(value.getBase(), "parameterlist");
			_parameterlist = value; 
		}
	}
	protected doxygenxml.compound.DocParamListType _parameterlist;

	// <summary>
	// Represents an optional Element in the XML document
	// </summary>
	// <remarks>
	// This property is represented as an Element in the XML.
	// It is optional, initially it is null.
	// Only one Element within this class may be set at a time, setting this property when another element is already set will raise an exception. setting this property to null will allow another element to be selected

	// </remarks>
	public doxygenxml.compound.DocXRefSectType getXrefsect() {
		return _xrefsect;  
	}
	public void setXrefsect(doxygenxml.compound.DocXRefSectType value) throws com.liquid_technologies.ltxmllib18.exceptions.LtException { 
		// The class represents a choice, so prevent more than one element from being selected
		ClearChoice((value == null)?"":"xrefsect"); // remove selection
		if (value == null)
			_xrefsect = null;
		else {
			setElementName(value.getBase(), "xrefsect");
			_xrefsect = value; 
		}
	}
	protected doxygenxml.compound.DocXRefSectType _xrefsect;

	// <summary>
	// Represents an optional Element in the XML document
	// </summary>
	// <remarks>
	// This property is represented as an Element in the XML.
	// It is optional, initially it is null.
	// Only one Element within this class may be set at a time, setting this property when another element is already set will raise an exception. setting this property to null will allow another element to be selected

	// </remarks>
	public doxygenxml.compound.DocCopyType getCopydoc() {
		return _copydoc;  
	}
	public void setCopydoc(doxygenxml.compound.DocCopyType value) throws com.liquid_technologies.ltxmllib18.exceptions.LtException { 
		// The class represents a choice, so prevent more than one element from being selected
		ClearChoice((value == null)?"":"copydoc"); // remove selection
		if (value == null)
			_copydoc = null;
		else {
			setElementName(value.getBase(), "copydoc");
			_copydoc = value; 
		}
	}
	protected doxygenxml.compound.DocCopyType _copydoc;

	// <summary>
	// Represents an optional Element in the XML document
	// </summary>
	// <remarks>
	// This property is represented as an Element in the XML.
	// It is optional, initially it is null.
	// Only one Element within this class may be set at a time, setting this property when another element is already set will raise an exception. setting this property to null will allow another element to be selected

	// </remarks>
	public doxygenxml.compound.DocBlockQuoteType getBlockquote() {
		return _blockquote;  
	}
	public void setBlockquote(doxygenxml.compound.DocBlockQuoteType value) throws com.liquid_technologies.ltxmllib18.exceptions.LtException { 
		// The class represents a choice, so prevent more than one element from being selected
		ClearChoice((value == null)?"":"blockquote"); // remove selection
		if (value == null)
			_blockquote = null;
		else {
			setElementName(value.getBase(), "blockquote");
			_blockquote = value; 
		}
	}
	protected doxygenxml.compound.DocBlockQuoteType _blockquote;

	// <summary>
	// Represents an optional Element in the XML document
	// </summary>
	// <remarks>
	// This property is represented as an Element in the XML.
	// It is optional, initially it is null.
	// Only one Element within this class may be set at a time, setting this property when another element is already set will raise an exception. setting this property to null will allow another element to be selected

	// </remarks>
	public doxygenxml.compound.DocParBlockType getParblock() {
		return _parblock;  
	}
	public void setParblock(doxygenxml.compound.DocParBlockType value) throws com.liquid_technologies.ltxmllib18.exceptions.LtException { 
		// The class represents a choice, so prevent more than one element from being selected
		ClearChoice((value == null)?"":"parblock"); // remove selection
		if (value == null)
			_parblock = null;
		else {
			setElementName(value.getBase(), "parblock");
			_parblock = value; 
		}
	}
	protected doxygenxml.compound.DocParBlockType _parblock;

	public String getChoiceSelectedElement() {
		return _validElement;
	}
	protected String _validElement;

	@Override
	public String getNamespace() {
		return "";
	}	

	@Override
	public com.liquid_technologies.ltxmllib18.XmlObjectBase getBase() {
		return this;
	}
	protected void onEvent(com.liquid_technologies.ltxmllib18.XmlObjectBase msgSource, int msgType, Object data) {
		if (msgType == CollectionChangeEvent) {
		}
	}

	private static com.liquid_technologies.ltxmllib18.ParentElementInfo __parentElementInfo = null;
	private static com.liquid_technologies.ltxmllib18.ElementInfo[] __elementInfo = null;
	private static com.liquid_technologies.ltxmllib18.AttributeInfo[] __attributeInfo = null;
		
	protected com.liquid_technologies.ltxmllib18.ParentElementInfo getClassInfo() throws Exception {
		if (__parentElementInfo == null) {
			__parentElementInfo = new com.liquid_technologies.ltxmllib18.ParentElementInfo(	
																	com.liquid_technologies.ltxmllib18.XmlObjectBase.XmlElementGroupType.CHOICE,
																	com.liquid_technologies.ltxmllib18.XmlObjectBase.XmlElementType.PSEUDO_ELEMENT, "docParaType_Group", "", false, false,
																	null, null, com.liquid_technologies.ltxmllib18.Conversions.ConversionType.TYPE_NONE, null, false);
		}
		return __parentElementInfo;
	}

	protected com.liquid_technologies.ltxmllib18.ElementInfo[] getClassElementInfo() throws Exception {
		if (__elementInfo == null) {
			__elementInfo = new com.liquid_technologies.ltxmllib18.ElementInfo[] {
				 new com.liquid_technologies.ltxmllib18.data.ElementInfoChoiceClsOpt("docParaType_Group_Choice", "", findGetterMethod("doxygenxml.compound.DocParaType_Group", "getDocParaType_Group_Choice"), findSetterMethod("doxygenxml.compound.DocParaType_Group", "setDocParaType_Group_Choice", "doxygenxml.compound.DocParaType_Group_Choice"), com.liquid_technologies.ltxmllib18.XmlObjectBase.XmlElementType.PSEUDO_ELEMENT, doxygenxml.compound.DocParaType_Group_Choice.class)
				,new com.liquid_technologies.ltxmllib18.data.ElementInfoChoiceClsOpt("hruler", "", findGetterMethod("doxygenxml.compound.DocParaType_Group", "getHruler"), findSetterMethod("doxygenxml.compound.DocParaType_Group", "setHruler", "doxygenxml.compound.DocEmptyType"), com.liquid_technologies.ltxmllib18.XmlObjectBase.XmlElementType.ELEMENT, doxygenxml.compound.DocEmptyType.class)
				,new com.liquid_technologies.ltxmllib18.data.ElementInfoChoiceClsOpt("preformatted", "", findGetterMethod("doxygenxml.compound.DocParaType_Group", "getPreformatted"), findSetterMethod("doxygenxml.compound.DocParaType_Group", "setPreformatted", "doxygenxml.compound.DocMarkupType"), com.liquid_technologies.ltxmllib18.XmlObjectBase.XmlElementType.ELEMENT, doxygenxml.compound.DocMarkupType.class)
				,new com.liquid_technologies.ltxmllib18.data.ElementInfoChoiceClsOpt("programlisting", "", findGetterMethod("doxygenxml.compound.DocParaType_Group", "getProgramlisting"), findSetterMethod("doxygenxml.compound.DocParaType_Group", "setProgramlisting", "doxygenxml.compound.ListingType"), com.liquid_technologies.ltxmllib18.XmlObjectBase.XmlElementType.ELEMENT, doxygenxml.compound.ListingType.class)
				,new com.liquid_technologies.ltxmllib18.data.ElementInfoChoicePrimOpt("verbatim", "", findGetterMethod("doxygenxml.compound.DocParaType_Group", "getVerbatim"), findSetterMethod("doxygenxml.compound.DocParaType_Group", "setVerbatim", "java.lang.String"), findGetterMethod("doxygenxml.compound.DocParaType_Group", "isValidVerbatim"), null, null, com.liquid_technologies.ltxmllib18.Conversions.ConversionType.TYPE_STRING, null, com.liquid_technologies.ltxmllib18.WhitespaceRule.PRESERVE, new com.liquid_technologies.ltxmllib18.PrimitiveRestrictions("", -1, -1, "", "", "", "", -1, -1, -1), null)
				,new com.liquid_technologies.ltxmllib18.data.ElementInfoChoiceClsOpt("indexentry", "", findGetterMethod("doxygenxml.compound.DocParaType_Group", "getIndexentry"), findSetterMethod("doxygenxml.compound.DocParaType_Group", "setIndexentry", "doxygenxml.compound.DocIndexEntryType"), com.liquid_technologies.ltxmllib18.XmlObjectBase.XmlElementType.ELEMENT, doxygenxml.compound.DocIndexEntryType.class)
				,new com.liquid_technologies.ltxmllib18.data.ElementInfoChoiceClsOpt("orderedlist", "", findGetterMethod("doxygenxml.compound.DocParaType_Group", "getOrderedlist"), findSetterMethod("doxygenxml.compound.DocParaType_Group", "setOrderedlist", "doxygenxml.compound.DocListType"), com.liquid_technologies.ltxmllib18.XmlObjectBase.XmlElementType.ELEMENT, doxygenxml.compound.DocListType.class)
				,new com.liquid_technologies.ltxmllib18.data.ElementInfoChoiceClsOpt("itemizedlist", "", findGetterMethod("doxygenxml.compound.DocParaType_Group", "getItemizedlist"), findSetterMethod("doxygenxml.compound.DocParaType_Group", "setItemizedlist", "doxygenxml.compound.DocListType"), com.liquid_technologies.ltxmllib18.XmlObjectBase.XmlElementType.ELEMENT, doxygenxml.compound.DocListType.class)
				,new com.liquid_technologies.ltxmllib18.data.ElementInfoChoiceClsOpt("simplesect", "", findGetterMethod("doxygenxml.compound.DocParaType_Group", "getSimplesect"), findSetterMethod("doxygenxml.compound.DocParaType_Group", "setSimplesect", "doxygenxml.compound.DocSimpleSectType"), com.liquid_technologies.ltxmllib18.XmlObjectBase.XmlElementType.ELEMENT, doxygenxml.compound.DocSimpleSectType.class)
				,new com.liquid_technologies.ltxmllib18.data.ElementInfoChoiceClsOpt("title", "", findGetterMethod("doxygenxml.compound.DocParaType_Group", "getTitle"), findSetterMethod("doxygenxml.compound.DocParaType_Group", "setTitle", "doxygenxml.compound.DocTitleType"), com.liquid_technologies.ltxmllib18.XmlObjectBase.XmlElementType.ELEMENT, doxygenxml.compound.DocTitleType.class)
				,new com.liquid_technologies.ltxmllib18.data.ElementInfoChoiceClsOpt("variablelist", "", findGetterMethod("doxygenxml.compound.DocParaType_Group", "getVariablelist"), findSetterMethod("doxygenxml.compound.DocParaType_Group", "setVariablelist", "doxygenxml.compound.DocVariableListType"), com.liquid_technologies.ltxmllib18.XmlObjectBase.XmlElementType.ELEMENT, doxygenxml.compound.DocVariableListType.class)
				,new com.liquid_technologies.ltxmllib18.data.ElementInfoChoiceClsOpt("table", "", findGetterMethod("doxygenxml.compound.DocParaType_Group", "getTable"), findSetterMethod("doxygenxml.compound.DocParaType_Group", "setTable", "doxygenxml.compound.DocTableType"), com.liquid_technologies.ltxmllib18.XmlObjectBase.XmlElementType.ELEMENT, doxygenxml.compound.DocTableType.class)
				,new com.liquid_technologies.ltxmllib18.data.ElementInfoChoiceClsOpt("heading", "", findGetterMethod("doxygenxml.compound.DocParaType_Group", "getHeading"), findSetterMethod("doxygenxml.compound.DocParaType_Group", "setHeading", "doxygenxml.compound.DocHeadingType"), com.liquid_technologies.ltxmllib18.XmlObjectBase.XmlElementType.ELEMENT, doxygenxml.compound.DocHeadingType.class)
				,new com.liquid_technologies.ltxmllib18.data.ElementInfoChoiceClsOpt("dotfile", "", findGetterMethod("doxygenxml.compound.DocParaType_Group", "getDotfile"), findSetterMethod("doxygenxml.compound.DocParaType_Group", "setDotfile", "doxygenxml.compound.DocImageType"), com.liquid_technologies.ltxmllib18.XmlObjectBase.XmlElementType.ELEMENT, doxygenxml.compound.DocImageType.class)
				,new com.liquid_technologies.ltxmllib18.data.ElementInfoChoiceClsOpt("mscfile", "", findGetterMethod("doxygenxml.compound.DocParaType_Group", "getMscfile"), findSetterMethod("doxygenxml.compound.DocParaType_Group", "setMscfile", "doxygenxml.compound.DocImageType"), com.liquid_technologies.ltxmllib18.XmlObjectBase.XmlElementType.ELEMENT, doxygenxml.compound.DocImageType.class)
				,new com.liquid_technologies.ltxmllib18.data.ElementInfoChoiceClsOpt("diafile", "", findGetterMethod("doxygenxml.compound.DocParaType_Group", "getDiafile"), findSetterMethod("doxygenxml.compound.DocParaType_Group", "setDiafile", "doxygenxml.compound.DocImageType"), com.liquid_technologies.ltxmllib18.XmlObjectBase.XmlElementType.ELEMENT, doxygenxml.compound.DocImageType.class)
				,new com.liquid_technologies.ltxmllib18.data.ElementInfoChoiceClsOpt("toclist", "", findGetterMethod("doxygenxml.compound.DocParaType_Group", "getToclist"), findSetterMethod("doxygenxml.compound.DocParaType_Group", "setToclist", "doxygenxml.compound.DocTocListType"), com.liquid_technologies.ltxmllib18.XmlObjectBase.XmlElementType.ELEMENT, doxygenxml.compound.DocTocListType.class)
				,new com.liquid_technologies.ltxmllib18.data.ElementInfoChoiceClsOpt("language", "", findGetterMethod("doxygenxml.compound.DocParaType_Group", "getLanguage"), findSetterMethod("doxygenxml.compound.DocParaType_Group", "setLanguage", "doxygenxml.compound.DocLanguageType"), com.liquid_technologies.ltxmllib18.XmlObjectBase.XmlElementType.ELEMENT, doxygenxml.compound.DocLanguageType.class)
				,new com.liquid_technologies.ltxmllib18.data.ElementInfoChoiceClsOpt("parameterlist", "", findGetterMethod("doxygenxml.compound.DocParaType_Group", "getParameterlist"), findSetterMethod("doxygenxml.compound.DocParaType_Group", "setParameterlist", "doxygenxml.compound.DocParamListType"), com.liquid_technologies.ltxmllib18.XmlObjectBase.XmlElementType.ELEMENT, doxygenxml.compound.DocParamListType.class)
				,new com.liquid_technologies.ltxmllib18.data.ElementInfoChoiceClsOpt("xrefsect", "", findGetterMethod("doxygenxml.compound.DocParaType_Group", "getXrefsect"), findSetterMethod("doxygenxml.compound.DocParaType_Group", "setXrefsect", "doxygenxml.compound.DocXRefSectType"), com.liquid_technologies.ltxmllib18.XmlObjectBase.XmlElementType.ELEMENT, doxygenxml.compound.DocXRefSectType.class)
				,new com.liquid_technologies.ltxmllib18.data.ElementInfoChoiceClsOpt("copydoc", "", findGetterMethod("doxygenxml.compound.DocParaType_Group", "getCopydoc"), findSetterMethod("doxygenxml.compound.DocParaType_Group", "setCopydoc", "doxygenxml.compound.DocCopyType"), com.liquid_technologies.ltxmllib18.XmlObjectBase.XmlElementType.ELEMENT, doxygenxml.compound.DocCopyType.class)
				,new com.liquid_technologies.ltxmllib18.data.ElementInfoChoiceClsOpt("blockquote", "", findGetterMethod("doxygenxml.compound.DocParaType_Group", "getBlockquote"), findSetterMethod("doxygenxml.compound.DocParaType_Group", "setBlockquote", "doxygenxml.compound.DocBlockQuoteType"), com.liquid_technologies.ltxmllib18.XmlObjectBase.XmlElementType.ELEMENT, doxygenxml.compound.DocBlockQuoteType.class)
				,new com.liquid_technologies.ltxmllib18.data.ElementInfoChoiceClsOpt("parblock", "", findGetterMethod("doxygenxml.compound.DocParaType_Group", "getParblock"), findSetterMethod("doxygenxml.compound.DocParaType_Group", "setParblock", "doxygenxml.compound.DocParBlockType"), com.liquid_technologies.ltxmllib18.XmlObjectBase.XmlElementType.ELEMENT, doxygenxml.compound.DocParBlockType.class)
			};
		}
		return __elementInfo;
	}

	protected com.liquid_technologies.ltxmllib18.AttributeInfo[] getClassAttributeInfo() throws Exception {
		if (__attributeInfo==null) {
			__attributeInfo = new com.liquid_technologies.ltxmllib18.AttributeInfo[] {
			};
		}
		return __attributeInfo;
	}

// ##HAND_CODED_BLOCK_START ID="Additional Methods"## DO NOT MODIFY ANYTHING OUTSIDE OF THESE TAGS

// Add Additional Methods and members here...

// ##HAND_CODED_BLOCK_END ID="Additional Methods"## DO NOT MODIFY ANYTHING OUTSIDE OF THESE TAGS
}


